1. Field of the Invention
The present invention relates to a signal processing device, in particular, the present invention relates to a signal processing device, a signal processing method, a signal processing program, a recording medium and a speed detector, each processing a two-phase signal from an encoder that detects a rotation angle of a motor and detecting a driving speed (a rotation angular speed) of the motor, as well as to a servomechanism controlling the driving speed of the motor.
2. Description of Related Art
There has been known a servomechanism that controls a driving speed (for instance, a rotation speed) of a motor (e.g. Document 1: JP-A-2004-5218).
As shown in FIG. 12, a conventional servomechanism 1 includes a motor 11 (an object to be controlled), an encoder 12 that detects a rotation position (a rotation angle) of the motor 11 and outputs a position data, and a controller 13 that calculates a motor rotation speed based on the position data from the encoder 12 and controls current to be applied to the motor 11 to achieve a target speed.
The encoder 12 detects the rotation position (the rotation angle) of the motor 11, latches the detected value and outputs information on the rotation position of the motor 11 using an absolute code. The encoder 12 connects to the controller 13 via a serial communication line 14.
FIG. 13 shows a timing chart of rotation speed control by the motor 11 in the servomechanism having the above-described configuration.
First, the controller 13 sends a command S1 for detecting the position to the encoder 12 via the serial communication line 14. Upon receiving the detection command S1, the encoder 12 detects the rotation position of the motor 11 (denoted as P0, P1, P2 in FIG. 13), latches the detected value, and outputs the position data of the motor 11 to the controller 13.
When receiving the rotation position data of the motor 11 from the encoder 12, the controller 13 controls the speed of the motor 11 based on the motor rotation position. To be more specific, the controller 13 compares the motor rotation position currently received with the motor rotation position received one-cycle before, calculates the rotation speed of the motor 11, and compares the calculated motor rotation speed with the target speed. Then, the controller 13 calculates a duty ratio of electric current to be applied to the motor 11 corresponding to a difference between the motor speed and the target speed, and controls the speed of the motor 11 using the calculated duty ratio.
The above control cycles are repeated, so that the rotation speed of the motor 11 achieves the target speed.
However, if the speed control is based on such motor speed calculated from the difference between the two pieces of motor rotation position data detected according to predetermined sampling cycles, the obtained speed data is a mean speed data of the speed at the current control cycle and the speed at one-cycle before. In other words, the speed control may have time-lag (time-delay) of ½ of a sampling cycle T. The time-lag causes phase-delay of the control system, thus destabilizing the control.